// console.log("Start");

// setTimeout(() => {
//   console.log("Timeout");
// }, 0);

// Promise.resolve().then(() => {
//   console.log("Promise 1");
// }).then(() => {
//   console.log("Promise 2");
// });

// console.log("End");

// 事件循环 
async function async1() {
    console.log('async1 start');
    await async2();
    console.log('async1 end');
  }
  async function async2() {
    console.log('async2');
  }
  console.log('script start');
  setTimeout(function() {
    console.log('setTimeout');
  }, 0);
  async1();
  new Promise(function(resolve) {
    console.log('promise1');
    resolve();
  }).then(function() {
    console.log('promise2');
  });
  console.log('script end');
  
//   遇见await 后面的函数要执行一遍，再跳出改async
//   script start
//   async1 start
//   async2 ****！！！！！***
//   promise1
//   script end
//   async1 end
//   promise2
//   setTimeout


const arr = [
  {id:1,name:'1',classId:1},
  {id:2,name:'2',classId:1},
  {id:3,name:'3',classId:2},
  {id:4,name:'4',classId:2}
];

const transarr = [
  {
    classId:1,
    className: '班级1',
    students:[
      {id:1,name:'1',classId:1},
      {id:2,name:'2',classId:1},
    ]
  },
  {
    classId:2,
    className: '班级1',
    students:[
      {id:1,name:'3',classId:2},
      {id:2,name:'4',classId:2},
    ]
  },
]

const toTree = (pTree,data) => {
  pTree.forEach((item,i) => {
    item.students = data.filter((tree,i) => tree)
  })
}